<template>
<div>

    <h1>人员列表</h1>
    <h3>Count组件求和为:{{sum}}</h3>
    <h3>列表中第一个人的名字是：{{ firstPersonName}}</h3>
    <input type="text" v-model="name" placeholder="请输入名字">
    <button @click="add">添加</button>
    <button @click="addWang">添加一个姓王的人</button>
    <ul>
        <li  v-for="p in personList"  :key="p.id">{{p.name}}</li>
    </ul>
    </div>
</template>

<script>
import {nanoid} from 'nanoid';
import {mapState} from 'vuex';

   export default {
        name:'Person',
        data(){
            return{
      name:"",
            }
        },
        components: {},
        computed:{
            personList(){
              return this.$store.state.personAbout.personList
            },
            sum(){
                return this.$store.state.countAbout.sum;
            },
            firstPersonName(){
                return this.$store.getters['personAbout/firstPersonName']
            }
    // ...mapState(['personList','sum'])
        },
        methods:{
            add(){
                const personObj = {id:nanoid(),name:this.name};
                this.$store.commit('personAbout/ADD_PERSON',personObj)
                console.log(personObj);
                this.name=''
            },
            addWang(){
               const personObj = {id:nanoid(),name:this.name};
               this.$store.dispatch('personAbout/addPersonWang',personObj)
            }
        }
   }
</script>

<style scoped>

</style>